ডেটা টাইপস (Integer, Varchar, Date ইত্যাদি)

SQL এর মৌলিক ধারণা - এসকিউএল সার্টিফিকেশন (SQL Certification) - Database Tutorials

533

SQL ডেটাবেসে ডেটা সঠিকভাবে সংরক্ষণ এবং পরিচালনা করার জন্য বিভিন্ন ধরনের ডেটা টাইপ ব্যবহার করা হয়। প্রতিটি ডেটা টাইপ নির্ধারণ করে যে কোন ধরণের ডেটা একটি ফিল্ডে সংরক্ষিত হবে এবং সেই ডেটার সাথে কোন অপারেশন করা যাবে। SQL ডেটাবেসে সাধারণত তিনটি প্রধান ধরনের ডেটা টাইপ রয়েছে:

  1. Numeric Types (সংখ্যার ডেটা টাইপ)
  2. Character Types (অক্ষরের ডেটা টাইপ)
  3. Date and Time Types (তারিখ এবং সময়ের ডেটা টাইপ)

নিচে কিছু সাধারণ ডেটা টাইপের বিস্তারিত আলোচনা করা হল:


১. Numeric Types (সংখ্যার ডেটা টাইপ)

এই ডেটা টাইপগুলি সংখ্যাসংক্রান্ত তথ্য সংরক্ষণ করতে ব্যবহৃত হয়।

  • INT (Integer)
    • ব্যবহার: পূর্ণসংখ্যা (যেমন 1, 50, -200, ইত্যাদি) সংরক্ষণ করার জন্য।
    • সাইজ: সাধারণত 4 বাইট।
    • উদাহরণ: CREATE TABLE example (id INT);
  • DECIMAL (বা NUMERIC)
    • ব্যবহার: দশমিক সহ সংখ্যা, যেমন অর্থনৈতিক হিসাব বা পরিমাণ, সংরক্ষণ করতে।
    • সিনট্যাক্স: DECIMAL(p, s) যেখানে p হলো পজিশনের সংখ্যা (মোট ডিজিট) এবং s হলো দশমিকের পরের সংখ্যা (স্কেল)।
    • উদাহরণ: CREATE TABLE example (price DECIMAL(10, 2));
    • উদাহরণ মান: 12345678.90 (10 ডিজিট, তার মধ্যে 2 ডিজিট দশমিকের পর)
  • FLOAT
    • ব্যবহার: দশমিক সহ ভাসমান পয়েন্ট সংখ্যা, যেমন গাণিতিক হিসাব সংরক্ষণ করার জন্য।
    • উদাহরণ: CREATE TABLE example (height FLOAT);
  • BIGINT
    • ব্যবহার: বড় পূর্ণসংখ্যা (যেমন 9223372036854775807)।
    • সাইজ: 8 বাইট।
    • উদাহরণ: CREATE TABLE example (population BIGINT);

২. Character Types (অক্ষরের ডেটা টাইপ)

এই ডেটা টাইপগুলি অক্ষর বা স্ট্রিং সংরক্ষণের জন্য ব্যবহৃত হয়।

  • CHAR (Character)
    • ব্যবহার: স্থির দৈর্ঘ্যের স্ট্রিং সংরক্ষণ করতে।
    • সাইজ: 1 থেকে 255 ক্যারেক্টার।
    • উদাহরণ: CREATE TABLE example (name CHAR(50));
  • VARCHAR (Variable Character)
    • ব্যবহার: পরিবর্তনশীল দৈর্ঘ্যের স্ট্রিং সংরক্ষণ করতে। সাধারণত এটি CHAR এর তুলনায় বেশি ব্যবহার করা হয় কারণ এতে স্টোরেজ কম লাগে।
    • সাইজ: 1 থেকে 65,535 ক্যারেক্টার।
    • উদাহরণ: CREATE TABLE example (address VARCHAR(255));
  • TEXT
    • ব্যবহার: বড় স্ট্রিং বা টেক্সট ডেটা সংরক্ষণ করতে, যখন স্ট্রিংয়ের দৈর্ঘ্য অপরিচিত বা খুব বড় হয়।
    • সাইজ: প্রায় 65,535 ক্যারেক্টার পর্যন্ত।
    • উদাহরণ: CREATE TABLE example (description TEXT);
  • BLOB (Binary Large Object)
    • ব্যবহার: বাইনারি ডেটা (যেমন ছবি, ভিডিও, বা অডিও) সংরক্ষণ করতে।
    • সাইজ: প্রায় 65,535 বাইট।
    • উদাহরণ: CREATE TABLE example (image BLOB);

৩. Date and Time Types (তারিখ এবং সময়ের ডেটা টাইপ)

এই ডেটা টাইপগুলি তারিখ এবং সময় সংরক্ষণ করতে ব্যবহৃত হয়।

  • DATE
    • ব্যবহার: তারিখ সংরক্ষণ করতে (শুধু দিন, মাস, এবং বছর)।
    • সিনট্যাক্স: YYYY-MM-DD
    • উদাহরণ: CREATE TABLE example (birthdate DATE);
  • DATETIME
    • ব্যবহার: তারিখ এবং সময় সংরক্ষণ করতে।
    • সিনট্যাক্স: YYYY-MM-DD HH:MM:SS
    • উদাহরণ: CREATE TABLE example (created_at DATETIME);
  • TIMESTAMP
    • ব্যবহার: সময়ের নির্দিষ্ট মুহূর্ত সংরক্ষণ করতে (যেমন ডেটাবেস এন্ট্রির সময়)।
    • সিনট্যাক্স: YYYY-MM-DD HH:MM:SS
    • উদাহরণ: CREATE TABLE example (updated_at TIMESTAMP);
  • TIME
    • ব্যবহার: সময়ের মান (ঘণ্টা, মিনিট, সেকেন্ড) সংরক্ষণ করতে।
    • সিনট্যাক্স: HH:MM:SS
    • উদাহরণ: CREATE TABLE example (event_time TIME);
  • YEAR
    • ব্যবহার: বছর সংরক্ষণ করতে।
    • সিনট্যাক্স: YYYY
    • উদাহরণ: CREATE TABLE example (year_of_birth YEAR);

৪. Boolean Types

  • BOOLEAN
    • ব্যবহার: সত্য/মিথ্যা মান (True/False) সংরক্ষণ করতে।
    • উদাহরণ: CREATE TABLE example (is_active BOOLEAN);
    • যত্ন নিন: MySQL বা PostgreSQL এ, BOOLEAN একটি TINYINT(1) হিসেবে সংরক্ষিত হতে পারে, যেখানে 1 অর্থ "True" এবং 0 অর্থ "False"।

৫. NULL এবং NOT NULL

  • NULL: একটি ফিল্ডের মান নেই বা অনুপস্থিত।
  • NOT NULL: ডেটা থাকতে হবে (এই ফিল্ডে NULL মান রাখা যাবে না)।

উদাহরণ:

CREATE TABLE example (
  id INT NOT NULL, 
  name VARCHAR(50) NOT NULL, 
  email VARCHAR(100) NULL
);

উপসংহার

SQL ডেটা টাইপগুলি বিভিন্ন ধরনের তথ্য সংরক্ষণ এবং পরিচালনার জন্য গুরুত্বপূর্ণ। ডেটাবেসের কাঠামো ডিজাইন করার সময় সঠিক ডেটা টাইপ নির্বাচন করা প্রয়োজন, যাতে ডেটা সঠিকভাবে সংরক্ষিত হয় এবং কার্যকরীভাবে পরিচালনা করা যায়।

Content added By
Promotion

Are you sure to start over?

Loading...